how int allocates memory